x86_64_sandybridge_dict = {
  '?scal': {
    'd': {
      '_k': 'x86_64/dscal.c',
    },
    'c': {
      '_k': 'x86_64/cscal.c',
    },
  },
  '?ger': {
    's': {
      '_k': 'x86_64/sger.c',
    },
    'd': {
      '_k': 'x86_64/dger.c',
    },
  },
  '?gemv': {
    's': {
      '_n': 'x86_64/sgemv_n_4.c',
      '_t': 'x86_64/sgemv_t_4.c',
    },
    'z': {
      '_n': 'x86_64/zgemv_n_4.c',
    },
  },
  '?symv': {
    's': {
      '_U': 'x86_64/ssymv_U.c',
      '_L': 'x86_64/ssymv_L.c',
    },
    'd': {
      '_U': 'x86_64/dsymv_U.c',
      '_L': 'x86_64/dsymv_L.c',
    },
  },
  '?dot': {
    's': {
      '_k': 'x86_64/sdot.c',
    },
    'd': {
      '_k': 'x86_64/ddot.c',
    },
  },
  '?dotc': {
    'c': {
      '_k': 'x86_64/cdot.c',
    },
    'z': {
      '_k': 'x86_64/zdot.c',
    },
  },
  '?dotu': {
    'c': {
      '_k': 'x86_64/cdot.c',
    },
    'z': {
      '_k': 'x86_64/zdot.c',
    },
  },
  '?dsdot': {
    '': {
      '_k': 'x86_64/sdot.c',
    },
    's': {
      '_k': 'x86_64/sdot.c',
    },
  },
  '?axpy': {
    's': {
      '_k': 'x86_64/saxpy.c',
    },
    'd': {
      '_k': 'x86_64/daxpy.c',
    },
    'c': {
      '_k': 'x86_64/caxpy.c',
    },
    'z': {
      '_k': 'x86_64/zaxpy.c',
    },
  },
  '?axpyc': {
    'c': {
      '_k': 'x86_64/caxpy.c',
    },
    'z': {
      '_k': 'x86_64/zaxpy.c',
    },
  },
  '?gemm_kernel': {
    's': {
      '': 'x86_64/sgemm_kernel_16x4_sandy.S',
    },
    'd': {
      '': 'x86_64/dgemm_kernel_4x8_sandy.S',
    },
    'c': {
      '_n': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_l': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_r': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_b': 'x86_64/cgemm_kernel_8x2_sandy.S',
    },
    'z': {
      '_n': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_l': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_r': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_b': 'x86_64/zgemm_kernel_1x4_nehalem.S',
    },
  },
  '?trmm_kernel': {
    's': {
      '_LN': 'x86_64/sgemm_kernel_16x4_sandy.S',
      '_LT': 'x86_64/sgemm_kernel_16x4_sandy.S',
      '_RN': 'x86_64/sgemm_kernel_16x4_sandy.S',
      '_RT': 'x86_64/sgemm_kernel_16x4_sandy.S',
    },
    'd': {
      '_LN': 'x86_64/dgemm_kernel_4x8_sandy.S',
      '_LT': 'x86_64/dgemm_kernel_4x8_sandy.S',
      '_RN': 'x86_64/dgemm_kernel_4x8_sandy.S',
      '_RT': 'x86_64/dgemm_kernel_4x8_sandy.S',
    },
    'c': {
      '_LN': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_LT': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_LR': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_LC': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_RN': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_RT': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_RR': 'x86_64/cgemm_kernel_8x2_sandy.S',
      '_RC': 'x86_64/cgemm_kernel_8x2_sandy.S',
    },
    'z': {
      '_LN': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_LT': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_LR': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_LC': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_RN': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_RT': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_RR': 'x86_64/zgemm_kernel_1x4_nehalem.S',
      '_RC': 'x86_64/zgemm_kernel_1x4_nehalem.S',
    },
  },
  '?trsm_kernel': {
    's': {
      '_LN': 'generic/trsm_kernel_LN.c',
      '_LT': 'generic/trsm_kernel_LT.c',
      '_RN': 'generic/trsm_kernel_RN.c',
      '_RT': 'generic/trsm_kernel_RT.c',
    },
    'd': {
      '_LN': 'generic/trsm_kernel_LN.c',
      '_LT': 'generic/trsm_kernel_LT.c',
      '_RN': 'generic/trsm_kernel_RN.c',
      '_RT': 'generic/trsm_kernel_RT.c',
    },
    'c': {
      '_LN': 'generic/trsm_kernel_LN.c',
      '_LT': 'generic/trsm_kernel_LT.c',
      '_LR': 'generic/trsm_kernel_LN.c',
      '_LC': 'generic/trsm_kernel_LT.c',
      '_RN': 'generic/trsm_kernel_RN.c',
      '_RT': 'generic/trsm_kernel_RT.c',
      '_RR': 'generic/trsm_kernel_RN.c',
      '_RC': 'generic/trsm_kernel_RT.c',
    },
    'z': {
      '_LN': 'generic/trsm_kernel_LN.c',
      '_LT': 'generic/trsm_kernel_LT.c',
      '_LR': 'generic/trsm_kernel_LN.c',
      '_LC': 'generic/trsm_kernel_LT.c',
      '_RN': 'generic/trsm_kernel_RN.c',
      '_RT': 'generic/trsm_kernel_RT.c',
      '_RR': 'generic/trsm_kernel_RN.c',
      '_RC': 'generic/trsm_kernel_RT.c',
    },
  },
  '?gemm': {
    's': {
      '_incopy': 'generic/gemm_ncopy_16.c',
      '_itcopy': 'generic/gemm_tcopy_16.c',
      '_oncopy': 'generic/gemm_ncopy_4.c',
      '_otcopy': 'generic/gemm_tcopy_4.c',
    },
    'd': {
      '_incopy': 'generic/gemm_ncopy_8.c',
      '_itcopy': 'generic/gemm_tcopy_8.c',
      '_oncopy': 'generic/gemm_ncopy_4.c',
      '_otcopy': 'generic/gemm_tcopy_4.c',
    },
    'c': {
      '_incopy': 'generic/zgemm_ncopy_8.c',
      '_itcopy': 'generic/zgemm_tcopy_8.c',
      '_oncopy': 'generic/zgemm_ncopy_2.c',
      '_otcopy': 'generic/zgemm_tcopy_2.c',
    },
    'z': {
      '_incopy': 'x86_64/zgemm_ncopy_1.S',
      '_itcopy': 'x86_64/zgemm_tcopy_1.S',
      '_oncopy': 'generic/zgemm_ncopy_4.c',
      '_otcopy': 'generic/zgemm_tcopy_4.c',
    },
  },
  '?gemm3m': {
    'c': {
      '_kernel': 'x86_64/zgemm3m_kernel_4x8_nehalem.S',
    },
    'z': {
      '_kernel': 'x86_64/zgemm3m_kernel_2x8_nehalem.S',
    },
  },
}
